// samsting : this file is auto create.

#ifndef ALIYUN_Rds_DescribeDBInstanceNetInfoForChannelResponse_H_
#define ALIYUN_Rds_DescribeDBInstanceNetInfoForChannelResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Rds {

class DescribeDBInstanceNetInfoForChannelResponse : public AcsResponse {
public:
  DescribeDBInstanceNetInfoForChannelResponse();

  class DBInstanceNetInfo {
    friend class DescribeDBInstanceNetInfoForChannelResponse;
  public:

    class securityIPGroups {
      friend class DescribeDBInstanceNetInfoForChannelResponse;
      friend class DBInstanceNetInfo;
    public:
      const string& GetSecurityIPGroupName(void) const;
      const string& GetSecurityIPs(void) const;
    private:
      string SecurityIPGroupName_;
      string SecurityIPs_;
    }; // securityIPGroups 

    const std::vector<securityIPGroups>& GetSecurityIPGroups(void) const;
    const string& GetConnectionString(void) const;
    const string& GetIPAddress(void) const;
    const string& GetIPType(void) const;
    const string& GetPort(void) const;
    const string& GetVPCId(void) const;
    const string& GetVSwitchId(void) const;
  private:
    std::vector<securityIPGroups> SecurityIPGroups_;
    string ConnectionString_;
    string IPAddress_;
    string IPType_;
    string Port_;
    string VPCId_;
    string VSwitchId_;
  }; // DBInstanceNetInfo 

  const std::vector<DBInstanceNetInfo>& GetDBInstanceNetInfos(void) const;
  const string& GetInstanceNetworkType(void) const;

private:
  std::vector<DBInstanceNetInfo> DBInstanceNetInfos_;
  string InstanceNetworkType_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Rds {

#endif // #ifndef ALIYUN_Rds_DescribeDBInstanceNetInfoForChannelResponse_H_

// end of file 
